package cn.bluedot.service;


import java.util.List;

import cn.bluedot.model.OutgoingRecord;
import cn.bluedot.model.Res;
import cn.bluedot.model.ResType;
import cn.bluedot.model.StorageRecord;
import cn.bluedot.model.StorageRecordVo;

public interface ResService {
    void addResType(ResType resType);
    /**
     * 拿到所有物品类型
     * @return
     */
    List<ResType> getAllResType();
    /**
     * 拿到该种类型的物品
     * @param typeId
     * @return
     */
    List<Res> getAllResByTypeID(long typeId);
    /**
     * 添加该种货物
     * @param res
     */
    void addRes(Res res);
    
    
    /**
     * 添加入库记录
     * @param storage
     */
    void warehousing(StorageRecord storage);
    /**
     * 获取入库记录
     * @param pageIndex, 页面索引
     * @return
     */
    List<StorageRecordVo> getListStorageRecordVO(int pageIndex);
    
    /**
     * 获取入库记录
     * @param id
     * @return
     */
    StorageRecord getStorageById(Long id);
    /**
     * 加载该入库记录的所有出库记录
     * @param storageRecordId
     * @return
     */
    List<OutgoingRecord> getListOutgoingByStorageRecordId(Long storageRecordId);
    /**
     * 添加出库记录
     * @param outgoing
     */
    void addOutGoing(OutgoingRecord outgoing);
}
